/*
 * @Author: xws 1043495328@qq.com
 * @Date: 2023-07-12 11:41:59
 * @LastEditors: xws 1043495328@qq.com
 * @LastEditTime: 2023-08-02 09:19:24
 * @FilePath: \vue3-admin-template\src\components\index.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
//引入项目中全部的全局组件
import SvgIcon from './SvgIcon/index.vue'
import Category from './Category/index.vue'
import NightButton from './NightButton/index.vue'
//引入element-plus提供全部的图标组件
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
//全局对象
const allGloablCompont: any = { SvgIcon, Category,NightButton }
//对外暴露插件对象
export default {
  //务必叫做install方法
  install(app: any) {
    // console.log(app);
    //Object.keys() 静态方法返回一个由给定对象自身的可枚举的字符串键属性名组成的数组。
    //这里是用Object.keys() 方法得到allGloablCompont这个对象所有的key
    Object.keys(allGloablCompont).forEach((key) => {
      //注册为全局组件
      app.component(key, allGloablCompont[key])
    })
    // 将element-plus提供图标注册为全局组件
    for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
      app.component(key, component)
    }
  },
}
